--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Commit 2eba7341e644a3fe91386458c914e315ec059016
Parents : 24055d8
Author : Ivan <ivan@quad4.io>
Signature : Signature validation error
Date : 2026-05-30T12:31:11-05:00
feat(micron-editor): update
Changes
1 files changed, 124 insertions(+), 2 deletions(-)
Diff
diff --git a/meshchatx/src/frontend/components/micron-editor/MicronEditorPage.vue b/meshchatx/src/frontend/components/micron-editor/MicronEditorPage.vue
index 33ca5eb1..e5919ab8 100644
--- a/meshchatx/src/frontend/components/micron-editor/MicronEditorPage.vue
+++ b/meshchatx/src/frontend/components/micron-editor/MicronEditorPage.vue
@@ -381,7 +381,11 @@ ${b}f
${b}!Welcome to Micron Editor${b}!
-
-Micron is a lightweight, terminal-friendly monospace markdown format used in Reticulum applications.
+Micron is a lightweight, terminal-friendly monospace markup format used in Reticulum applications such as ${b}!MeshChatX${b}! and ${b}!NomadNet${b}!.
+
+Micron supports sections, dividers, links, partials, anchors, tables, and dynamic input fields for low-bandwidth mesh pages.
+
+Open the ${b}!${this.$t("tools.micron_editor.guide_tab")}${b}! tab for the full reference, or use ${b}+${b} to add another file.
${b}!With Micron, you can${b}${b}:
@@ -438,6 +442,20 @@ Nomad Network supports a simple and functional markup language called ${b}*micro
With micron you can easily create structured documents and pages with formatting, colors, glyphs and icons, ideal for display in terminals.
+>Table of Contents
+
+ ${b}F44f${b}_${b}[A Few Demo Outputs${b}#a-few-demo-outputs]${b}_${b}f
+ ${b}F44f${b}_${b}[Micron Tags${b}#micron-tags]${b}_${b}f
+ ${b}F44f${b}_${b}[Colors${b}#colors]${b}_${b}f
+ ${b}F44f${b}_${b}[Page Foreground and Background Colors${b}#page-foreground-and-background-colors]${b}_${b}f
+ ${b}F44f${b}_${b}[Links${b}#links]${b}_${b}f
+ ${b}F44f${b}_${b}[Anchors${b}#anchors]${b}_${b}f
+ ${b}F44f${b}_${b}[Tables${b}#tables]${b}_${b}f
+ ${b}F44f${b}_${b}[Fields & Requests${b}#fields-requests]${b}_${b}f
+ ${b}F44f${b}_${b}[Comments${b}#comments]${b}_${b}f
+ ${b}F44f${b}_${b}[Partials${b}#partials]${b}_${b}f
+ ${b}F44f${b}_${b}[Literals${b}#literals]${b}_${b}f
+
>>Recommendations and Requirements
While micron can output formatted text to even the most basic terminal, there's a few capabilities your terminal ${b}*must${b}* support to display micron output correctly, and some that, while not strictly necessary, make the experience a lot better.
@@ -616,6 +634,10 @@ You can use ${b}B5d5${b}F222 color ${b}f${b}B333 ${b}Ff00f${b}Ff80o${b}Ffd0r${b}
${b}${b}
+>Page Foreground and Background Colors
+
+To specify a background color for the entire page, place the ${b}#!bg=X${b} header on one of the first lines of your page, where ${b}X${b} is the color you want to use, for example ${b}444${b}. If you're also using the cache control header, the background specifier must come ${b}*after${b}* the cache control header. Likewise, you can specify the default text color by using the ${b}#!fg=X${b} header.
+
>Links
Links to pages, files or other resources can be created with the \\${b}[ tag, which should always be terminated with a closing ]. You can create links with and without labels, it is up to you to control the formatting of links with other tags. Although not strictly necessary, it is good practice to at least format links with underlining.
@@ -646,6 +668,76 @@ ${b}${b}
When links like these are displayed in the built-in browser, clicking on them or activating them using the keyboard will cause the browser to load the specified URL.
+>Anchors
+
+Anchors let you create jump points within a single page similar to anchors in HTML. You declare a position in the page with a name, then link to it from anywhere on the same page.
+
+>>Auto-anchors from headers
+
+Every section heading you write also becomes an anchor automatically. The anchor name is the heading text after ${b}*slugifying${b}*: lowercased, with any run of non-alphanumeric characters replaced by a single hyphen, and leading or trailing hyphens stripped. So ${b}*>Hello World${b}* becomes the anchor ${b}*hello-world${b}*, and ${b}*>Introduction & Setup${b}* becomes ${b}*introduction-setup${b}*.
+
+>>Explicit anchors
+
+If you want an anchor that isn't tied to a heading, place one anywhere in your text with the \\${b}: tag, followed by a name. Names may contain the characters ${b}*A-Z${b}*, ${b}*a-z${b}*, ${b}*0-9${b}*, ${b}*_${b}* and ${b}*-${b}*, and end at any other character (a space, a newline, or punctuation).
+
+The anchor itself takes up no space and does not render. It's just a position marker. An explicit anchor declared on an otherwise empty line binds to that line's position.
+
+${b}Faaa
+${b}=
+${b}:install-notes
+Some installation notes for the user.
+
+You can also drop one mid-line. Example: see ${b}:tip-3${b} below for caveats.
+${b}=
+${b}${b}
+
+>>Linking to an anchor
+
+Reuse the standard link syntax, with a ${b}*#${b}*-prefixed URL:
+
+${b}Faaa
+${b}=
+${b}[Jump to Install Notes${b}#install-notes]
+${b}=
+${b}${b}
+
+When the user activates the link the browser scrolls the current page to the anchor's row.
+
+>>Jumping to the next section
+
+If the URL is just ${b}*#${b}* with no name after it, the link jumps to the next \\${b}> header that appears after the link's own position in the document. This is convenient for "Continue" buttons after a long paragraph, without having to name every section:
+
+${b}Faaa
+${b}=
+${b}[Continue${b}#]
+${b}=
+${b}${b}
+
+>>Anchors in external links
+
+If you want to link to an anchor on another page, you can include it as a request variable:
+
+${b}Faaa
+${b}=
+${b}[Conclusion${b}a8d24177d946de4f1f0a0fe1af9a1338:/page/document.mu${b}anchor=conclusion]
+${b}=
+${b}${b}
+
+>>Notes on namespaces and collisions
+
+Auto-anchors from headings and explicit \\${b}: anchors share a single namespace per page. If an explicit anchor collides with a heading slug, the first one declared is where it will jump to.
+
+>Tables
+
+You can include rendered tables by enclosing them in \\${b}t tags. Optionally, you can also specify alignment and max rendering width by adding these properties to the opening \\${b}t tag, like \\${b}tc30. Here's an example:
+
+${b}t
+| Name | Price | Qty |
+| ---- | :---: | --: |
+| ${b}F3a3Apple${b}f | Free | ${b}!5${b}! |
+| Orange | Ask, nicely | 3 |
+${b}t
+
>Fields & Requests
Nomad Network let's you use simple input fields for submitting data to node-side applications. Submitted data, along with other session variables will be available to the node-side script / program as environment variables.
@@ -798,9 +890,39 @@ This line will
${b}${b}
+>Partials
+
+You can include partials in pages, which will load asynchronously once the page itself has loaded.
+
+${b}Faaa
+${b}=
+${b}{f64a846313b874ee4a357040807f8c77:/page/partial_1.mu}
+${b}=
+${b}${b}
+
+It's also possible to set an auto-refresh interval for partials. Omit or set to 0 to disable. The following partial will update every 10 seconds.
+
+${b}Faaa
+${b}=
+${b}{f64a846313b874ee4a357040807f8c77:/page/refreshing_partial.mu${b}10}
+${b}=
+${b}${b}
+
+You can include field values and variables in partial updates, and by setting the ${b}pid${b} variable, you can create links that update one or more specific partials.
+
+${b}Faaa
+${b}=
+Name: ${b}B444${b}<user_name${b}>${b}b
+
+${b}F38a${b}[Say hello${b}p:32]${b}f
+
+${b}{f64a846313b874e84a357039807f8c77:/page/hello_partial.mu${b}0${b}pid=32|user_name}
+${b}=
+${b}${b}
+
>Literals
-To display literal content, for example source-code, or blocks of text that should not be interpreted by micron, you can use literal blocks, specified by the \\${b}= tag. Below is the source code of this entire document, presented as a literal block.
+To display literal content, for example source-code, or blocks of text that should not be interpreted by micron, you can use literal blocks, specified by the \\${b}= tag.
-
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────